home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 8 / IOPROG_8.ISO / soft / sdkplnet / mac / plgsk401.sit / PluginSDK 4.01a / Examples / Framework / CPluginArgs.h / CPluginArgs.h
Encoding:
C/C++ Source or Header  |  1996-09-17  |  1.1 KB  |  42 lines  |  [TEXT/CWIE]

  1. // CPluginArgs.h
  2.  
  3. #ifndef CPLUGINARGS_H
  4. #define CPLUGINARGS_H
  5.  
  6. #include "CNetscapeMemObject.h"
  7.  
  8. class CArgumentNode : public CNetscapeMemObject {
  9.     public:
  10.                             CArgumentNode( char* adoptArgumentName, char* adoptArgumentValue );
  11.         virtual                ~CArgumentNode();
  12.     
  13.         const CArgumentNode*    FindArgumentByName( const char* normalArgName ) const;
  14.         const char*            GetArgumentName() const;
  15.         const char*            GetArgumentValue() const;
  16.         void                AdoptChildArgument( CArgumentNode* adoptedArg );
  17.  
  18.     private:
  19.         char*                fArgumentName;
  20.         char*                fArgumentValue;
  21.         
  22.         CArgumentNode*        fLesserChild;
  23.         CArgumentNode*        fGreaterChild;
  24. };
  25.  
  26.  
  27. class CPluginArguments : public CNetscapeMemObject {
  28.     public:
  29.                             CPluginArguments( short argc, const char* argn[], const char* argv[] );
  30.         virtual                ~CPluginArguments();
  31.         
  32.         const char*            ArgumentValueAsString( const char* argumentName );
  33.         long                ArgumentValueAsInt( const char* argumentName, long defaultValue = 0 );
  34.         NPBool                ArgumentValueAsBool( const char* argumentName, NPBool defaultValue=FALSE );
  35.         
  36.     private:
  37.         CArgumentNode*        fTopArgument;
  38.         char                fEmptyString[1];        
  39.             
  40. };
  41.  
  42. #endif /* CPLUGINARGS_H */